Skip to content

Conversation

camillobruni
Copy link
Contributor

@camillobruni camillobruni commented Aug 14, 2025

Applying the same cache-busting pattern, I've created a Babylon.js-based startup workload.

  • Startup Version (parse - first-eval focused):
    • Eval a new string on every second iteration (configurable)
    • Load all class names from the babylon module
    • Set up a basic scene and run a few frames (configurable)
  • Scene Version (JS execution focused):
    • Does not measure startup
    • Sets up complex scene (parsing .glb blobs)
    • Renders and animates 100 frames

There is an ES6 and ES5 version of the same workload and they both heavily stress parse+top-level setup code with many classes.

Copy link

netlify bot commented Aug 14, 2025

Deploy Preview for webkit-jetstream-preview ready!

Name Link
🔨 Latest commit b1720f8
🔍 Latest deploy log https://app.netlify.com/projects/webkit-jetstream-preview/deploys/68ef704c2d6b3b0008bfc33a
😎 Deploy Preview https://deploy-preview-143--webkit-jetstream-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@camillobruni camillobruni changed the title New Workload: Babylon class-heavy startup workload New Workload: Babylon class-heavy workload Aug 15, 2025
@kmiller68
Copy link
Contributor

Can we add the UnicodeEscapePlugin you added to #124 here too? It seems like most of the time is parsing utf16 stuff here too.

@kmiller68
Copy link
Contributor

It seems like the scene workloads seem to block or stall for several seconds in Safari but not JSC cli or other browsers. Have you seen that at all? I can investigate more tomorrow, if not.

Screenshot 2025-09-15 at 11 32 58 PM

vs JSC cli, which is much more reasonable:

Screenshot 2025-09-15 at 11 33 52 PM

- Use Object.keys to access exported names intead of the more
  uncomment class names
- Monkey patch setTimeout that was accidentally used in
  the scene
- Move cheap validation into the runIteration to leak fewer objects
  across iterations
@camillobruni
Copy link
Contributor Author

I've now patched setTimeout for both workloads. I think this was accidentally used in the scene workload. Could you double check again whether this is still blocking / adding dead time?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants